package com.sc.nft.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.entity.vo.ecology.EcologyCastGasVO;
import com.sc.nft.enums.CdkActivityGenerateEnum;
import com.sc.nft.enums.GasConsumeTypeEnum;
import com.sc.nft.enums.ProductCdkTypeEnum;
import com.sc.nft.enums.RedemptionCodeRuleEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class AddCdkActivityVO {

    @ApiModelProperty("活动id")
    private Long id;

    @ApiModelProperty("dao名称")
    private String daoName;

    @ApiModelProperty("标题")
    private String activityTitle;

    @ApiModelProperty("描述")
    private String activityDescription;

    @ApiModelProperty("商品名称")
    private String firstTitle;

    @ApiModelProperty("生成状态")
    private CdkActivityGenerateEnum isGenerate;

    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginTime;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty("商品id")
    private Long productId;

    @ApiModelProperty("dao ID")
    private Long daoId;

    @ApiModelProperty("cdk类型")
    private ProductCdkTypeEnum productType;

    @ApiModelProperty("生成规则")
    private RedemptionCodeRuleEnum redemptionCodeRule;

    @ApiModelProperty("生成总量")
    private Long redemptionTotal;

    @ApiModelProperty("兑换码名称")
    private String redemptionCode;

    @ApiModelProperty("用户使用上限")
    private Integer userUseLimit;

    @ApiModelProperty("是否配置上链费")
    private Boolean gasConf;

    @ApiModelProperty("消耗类型")
    private GasConsumeTypeEnum consumeType;

    @ApiModelProperty("消耗额度")
    private BigDecimal consumeCost;

    @ApiModelProperty(value = "上链费消耗")
    private EcologyCastGasVO ecologyCastGas;

}
